#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// 根据 配置项名字 获取 配置项值
int config_get_value(const char *soft_install_path, const char *config_name, char *config_value){
    // 打开配置文件
    char pathname[512] = {0};
    sprintf(pathname, "%s/cfg/name_find.cfg", soft_install_path);
    FILE *fp = fopen(pathname, "r");
    if(NULL == fp){
        printf("打开配置文件失败, 请检查\n");
        exit(EXIT_FAILURE);
    }
    // 循环读取配置文件 找到名单文件 的名字
    char buff[1024]; // 保存读到的每行内容
    char temp_config_name[128]; // 配置项的名字
    int i = 0;
    while(NULL != fgets(buff, sizeof(buff), fp)){
        // 跳过空行 和 注释行
        if('#' == buff[0] || '\n' == buff[0]){
            continue;
        }
        i = 0; // 重置i
        while(buff[i] != '='){
            temp_config_name[i] = buff[i];
            i++;
        }
        temp_config_name[i] = '\0';
        // 找到对应的行了
        if(!strcmp(temp_config_name, config_name)){
            i++; // 将i定位到 配置项值的第一个字节
            int j = 0;
            while(buff[i] != '\0' && buff[i] != '\n'){
                config_value[j++] = buff[i++];
            }
            config_value[j] = '\0';
            fclose(fp);
            return 1;
        }
    }
    printf("没有找到 [%s] 配置项的值, 请检查\n", config_name);
    fclose(fp);
    exit(EXIT_FAILURE);
}
